教程_关节模块驱动器固件升级

修订日期 修订版本 修订内容 修订人
2022/10/27 V1.0 新建文档,驱动器固件烧写 高振宇
2022/10/29 V1.1 添加:问题说明;版本确认;重新标定;遗留问题
修改文件名为教程_关节模块驱动器固件升级
曾雨昊

0.当前问题说明

当前版本并未提供真正的固件升级教程,而提供的是固件烧录教程。其区别在于:烧录固件会擦除MCU上的所有信息,导致关节模块必须拆卸后单独重新标定,再安装成机械臂后才能使用。请谨慎操作。

后续将更新固件升级教程,解决这一问题。

1.准备工作

1.1硬件准备

  • 关节模块
  • J-LINK连接器
  • USB-CAN转接器(用于标定及验证)
  • 48V/5A开关电源(用于标定及验证)

1.2软件准备

2.操作步骤

2.1 烧录hex文件

需要特别注意,用下述步骤会擦除MCU的所有信息,烧录后需要进一步标定驱动器。

下面以14模块为例,烧录版本号为2124的驱动器软件程序。

首先将J-Link与驱动器P1端子连接(J-Link另一头通过USB连PC),如图所示:

J-Link升级驱动器

打开J-Flash V7.22b软件:

Creat New Project,选择Target DeviceSTM32F405RGTarget interfaceSpeed保持默认:

J-Flash_1

将目标hex文件拖动至右侧Drag & Drop Data file here内:

J-Flash_2

点击Target --> Connect

J-Flash_3

J-Flash_4

状态显示Connected successfully后,点击Target -->Production Programming

J-Flash_5

状态显示如下,即说明烧录成功。

J-Flash_7

如果有以下弹窗,可不用关注,这仅仅是提示J-Link为盗版,只需确认上图中Successfully即可。

J-Flash_6

2.2 固件库版本确认

如无需确认固件库版本,可跳过此步骤。确认固件库版本需要将模块与USB-CAN连接器连接,并利用上位机软件进行版本号检查。

首先按下图连接驱动器与CAN连接器和电源:

CAN连接驱动器

打开STM32_Driver_Test上位机软件,点击通讯 --> 连接驱动器

上位机-1

若MCU已进行全片擦除,此处ID应写1;否则写当前关节索引号(例如关节6就写ID-6)

上位机-2

连接成功后,界面下方会显示版本号,可确认烧录的版本是否正确。

上位机-3

2.3 模块标定

若能正常升级固件库,则可跳过此节。若已对MCU进行全片擦除再烧录,则需要进一步进行模块的标定。如2.2节所述,用上位机软件与驱动器连接,在连接成功后,如未听到抱闸开启的声音,按如下步骤操作:

点击设置与标定 --> 勾选上电使能,再点击通讯 --> 保存数据到驱动器

上位机-4

断电,再重新上电。此时能在上电时听到抱闸开启,电机上电使能成功。

此时再点击波形发生器 --> 勾选使能波形发生器 --> 设置任意偏置(最好不要太大,30deg以内即可),关节末端运动。如此时未运动,应检查是否选中了上电使能。

上位机-5

以i5-关节6为例,其零位位于下图位置:

关节6零位

设置偏置量,用肉眼观察(目前仅有这种方式)关节是否运动到零位。

点击设置与标定 --> 当前位置设置为零位。此时需确认关节模块末端无负载,最好将模块输出端悬空,否则模块可能会乱动。点击设置与标定 --> 电位器标定,关节模块开始自标定,具体表现为先缓慢正转,再缓慢反转,在输出端最后一次快速回转运动后标定结束。

上位机-6

若ID被擦除,还需设定ID,这一过程较复杂,当前版本没有记录。

2.4 关节模块正常运行验证

关节模块正常运行验证的方法多种多样,此处从算法的角度提供一种方法。

首先将升级后的关节模块重新装回机械臂上并正确连线(为了拆装方便,此时可以不对关节之间做机械连接,仅完成电气连接即可)

运行仿真平台,给整机上电Power On,正常情况下log如下:

仿真平台-1

若机械臂成功上电,则说明模块可以正常运行。此时需要注意,若关节之间没有做机械连接,那么最好不要控制机械臂运动,避免造成其他风险。

若机械臂不能成功上电,可能存在如下报错:

仿真平台-2

以上图为例,将错误索引值0x0c转为二进制数00001100,可以看到Bit2和Bit3为1,说明此时关节2和关节3模块连接异常,需要进一步排查。

3. 遗留问题

  • 尚未掌握升级固件的流程,每次烧录完之后都要拆卸模块、标定模块,步骤过于复杂
  • 标定模块时仅用肉眼观察零位是否到位,存在较大误差
  • ID被擦除后还需要用上位机设置ID,其过程涉及了上位机可能存在的BUG,较为繁琐,当前版本未记录。

results matching ""

    No results matching ""